package ru.papergames.battleserver.model.battle.services;

import ru.common.util.Point3D;
import ru.papergames.battleserver.model.PaperGameNpcUser;
import ru.papergames.battleserver.model.battle.BallColor;
import ru.papergames.battleserver.model.battle.GameBall;
import ru.papergames.battleserver.model.battle.GameBallsLine;
import ru.papergames.battleserver.model.battle.map.Cell;

import java.util.List;
import java.util.Set;

/**
 * @author : atroshanin
 */
public interface NpcDataCalculator {

    public void handleBallsThrow(PaperGameNpcUser npcUser, List<GameBall> newBalls);

    public void handleBallMoved(PaperGameNpcUser npcUser, List<Point3D> ballRoute);

    public void handleBallsRemoved(PaperGameNpcUser npcUser, Set<Cell> cellsToBeFree, List<GameBallsLine> lines, BallColor ballsColor);

}
